﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Entities;

namespace CuaHangBangDia.DangNhapHT
{
    public partial class TaoTaiKhoanForm : Form
    {
        public TaoTaiKhoanForm()
        {
            InitializeComponent();
        }
        public void LoadCBBNguoiDung()
        {
            List<NhanVien> nv = NhanVien.Objects.GetAll().ToList();
            foreach (NhanVien item in nv)
            {
                cbbTenNguoiDung.Items.Add(item);
            }
            cbbTenNguoiDung.DisplayMember = "HoTen";
            cbbTenNguoiDung.ValueMember = "MaNV";
            cbbTenNguoiDung.Items.Insert(0, "----Chọn Người Dùng----");
            cbbTenNguoiDung.SelectedIndex = 0;
        }

        private void btnTaoTaiKhoan_Click(object sender, EventArgs e)
        {
            bool k = false;
            if (txtTenDN.Text == "" && txtMatKhau.Text == "" && txtNhapLaiMK.Text == "")
            {
                MessageBox.Show("Vui lòng nhập thông tin tài khoản ! ", "Cảnh Báo");
            }
            else
            {
                if (txtTenDN.Text == "")
                    MessageBox.Show("Vui lòng nhập tên đăng nhập !");
                else
                {
                    if (txtMatKhau.Text == "")
                        MessageBox.Show("Nhập Mật Khẩu !");
                    else
                    {
                        if (txtNhapLaiMK.Text == "")
                            MessageBox.Show("Nhập lại mật khẩu !");
                        else
                        {
                            if (txtNhapLaiMK.Text == txtMatKhau.Text)
                            {
                                TaiKhoan tk = LayTTTaiKhoan();
                                TaiKhoan d = TaiKhoan.Objects.GetById(tk.TenDangNhap);
                                if (d != null)
                                    MessageBox.Show("Tài khoản đã tồn tại! Vui lòng chọn tài khoản khác !");
                                else
                                {
                                    List<TaiKhoan> l = TaiKhoan.Objects.Find(t => t.MaNV == tk.MaNV).ToList();
                                    if (l.Count > 0)
                                    {
                                        DialogResult a = MessageBox.Show("Nhân viên này đã có tài khoản ! Bạn có muốn tạo tài khoản mới ?", "Hỏi",
                                       MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                                        if (a == DialogResult.Yes)
                                        {
                                            k = TaiKhoan.Objects.Insert(tk);
                                        }
                                    }
                                    else
                                        k = TaiKhoan.Objects.Insert(tk);
                                }
                            }
                            else
                                MessageBox.Show("Mật khẩu nhập lại không đúng");
                        }
                    }
                }
            }
            if (k)
            {
                MessageBox.Show("Tạo tài khoản thành công! ");
                btnHuy.PerformClick();
            }
        }

        private TaiKhoan LayTTTaiKhoan()
        {
            TaiKhoan tk = new TaiKhoan();
            tk.TenDangNhap = txtTenDN.Text;
            tk.MatKhau = txtMatKhau.Text;
            if (rdbQuanLy.Checked)
                tk.PhanQuyen = true;
            NhanVien NV = (NhanVien)cbbTenNguoiDung.SelectedItem;
            tk.MaNV = NV.MaNV;
            return tk;
        }

        private void TaoTaiKhoanForm_Load(object sender, EventArgs e)
        {
            LoadCBBNguoiDung();
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            txtTenDN.Text = "";
            txtMatKhau.Text = "";
            txtNhapLaiMK.Text = "";
            rdbNhanVien.Checked = true;
            cbbTenNguoiDung.SelectedIndex = 0;
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
